The present invention relates generally to the selective concealment of errors in a stream of digital signals having some internal correlation. More particularly, the present invention relates to a method and apparatus for concealing such errors through the selection of signals for concealment. The invention is applicable irrespective of the prior correction of errors introduced in the stream of data.
The reliability of transmission of digital signals is determined by the quality of the system by which they are transmitted, which generally includes a transmitter, a transmission channel and a receiver. In practice, the transmission is often not error free. This is because it is often necessary or desirable to transmit data as fast as possible. Errors can be minimized by transmitting data slowly or redundantly, but this limits the transmitting speed. It is also a common practice to correct errors introduced in the digital signals as a result of transmission through a transmission channel, by applying an error correction code to the transmitted digital signals. These codes require the addition of overhead data, and to be of practical use the overhead must be limited. Further, no matter how sophisticated the error correction code, there will exist a set of conditions that will defeat the code and, thereby, leave residual uncorrected errors in the signals recovered after transmission. The probability of such residual errors depends on the code, the transmission channel and the processing strategy employed in the receiver to eliminate errors.
Error detection and correction in digital data communication are well known. See, for example, McNamara, John E., Technical Aspects of Data Communication, Digital Press, 1982, particularly Chapter 13, pp. 110 to 122; Lin, Shu, and Daniel J. Costello, Jr., Error Control Coding, Prentice-Hall, Inc., 1983, particularly Chapters 4, 5 and 6, pp. 85-140 and 170-177; Peterson, W. Wesley, and E. J. Weldon, Jr., Error-Correcting Codes, M.I.T. Press, Seventh Printing 1984, particularly Chapters 8 and 11; Inose, H., and I. Yamamoto, Data Tsushin (Data Communication), Computer Engineering Series, SAMPO, Vol. 3, particularly Section 3.7, pp. 83-107; Berlekamp, Elwyn R., Algebraic Coding Theory, McGraw-Hill, 1968, particularly Chapter 10; Cavell, Peter, "Implementation of Cyclic Redundancy Check Circuits", Electronic Engineering, February 1977, pp. 51-55; Berlekamp, U.S. Pat. No. 4,162,480; and Wood, et al., U.S. Pat. No. 4,527,269. These references describe cyclic redundancy check (CRC) and Reed-Solomon (R-S) codes.
An example of a system using a Reed-Solomon correcting code for detecting and correcting errors in a digital video tape recorder is the system described in Stenerson U.S. Pat. No. 4,597,083.
Irrespective of whether or not there has been some correction of errors, error concealment provides for some improvement in the quality of the stream of recovered data by reducing the effects of the errors without actually recovering exactly the data transmitted. Effective error concealment requires some redundancy in the transmitted data so that other received data can be used to substitute for the erroneous data. Such redundancy is present where there is correlation between the data that have been corrupted and the data to be substituted. Error concealment is particularly effective in overcoming the effects of residual uncorrected errors in digital signals having periodic correlation. In the concealment processing, erroneous signals and signals suspected of error are replaced from other presumed error free signals in the stream of transmitted signals. The degree to which a concealment strategy is effective in masking residual errors depends on the degree of correlation that exists in the signal stream.
Television signals are an example of signals having high periodic correlation. Common television signals for broadcast and most other applications are formed of lines of horizontally distributed picture or video information separated by intervals of horizontal-line-related synchronizing signals defining the beginning of each line. The horizontal lines are further organized into rasters of vertically distributed lines defining fields of lines separated by vertical-field-related synchronizing signals. In turn, the fields are organized into frames, each composed of two interlaced fields of horizontal lines, with lines of each field having a different raster position upon display. The degree of picture correlation between consecutive fields usually is very high, because the picture content from field to field changes very little. The same is true to a lesser degree between frames. There is substantial correlation between corresponding data in successive fields even in noninterlaced (line sequential) television signals. Picture correlation between consecutive horizontal lines of the same frame or field and even between consecutive pixels of the same horizontal line can be high, because adjacent portions of television pictures usually are substantially identical or differ very little.
Although concealment is useful in ameliorating the effects of errors in television and other digital signals having periodic correlation, unlike error correction, it results in information loss. In television signals, this loss of information is evidenced by loss of resolution. Consequently, error correction is favored over concealment, and it is preferred to resort to concealment only when necessary. A concealment strategy should be done to insure no objectionable errors remain.
The frequency and extent of concealment needed for concealing uncorrected errors is affected by the error correction code applied to the digital signals. Error correction codes add some appropriate additional parity information to a block of data information to form a code block. The amount of parity information added relative to the data information contained in the code block determines the ability to detect and correct errors in the data. However, the addition of a large amount of parity information requires a large overhead in the stream of digital signals. To accommodate the large overhead requires a large channel bandwidth and considerable error code processing circuitry.
If the error correction code overhead requirement is to be reduced through use of a simple error correction code, one must accept the possibility that uncorrectable errors will be introduced in the stream of digital signals transmitted through a signal channel. Moreover, if it is desired to keep the overhead relatively low, the probability of residual uncorrectable errors in the transmitted stream of digital signals is relatively high. Should conditions be encountered that result in the occurrence of a large number of residual uncorrected errors within a short interval, uncertainty arises as to whether data not designated to be in error that are located proximate data flagged as containing errors are, in fact, error free, or only apparently so.
This is so because error correction codes at times fail to detect the presence of errors in a transmitted data stream. For example, in a simple parity type error correction code, errors in a transmitted data stream are overlooked on the average of one out of two. That is, there are as many errors not detected as there are errors detected. As a consequence, whenever the rate of detected errors is high, the rate of undetected errors is also high. It may be that when all detected errors can be corrected, the undetected errors can be ignored. However, at least when there is an excessive number of identified residual uncorrected errors, the neighboring data may be considered likely to contain unidentified errors, and concealment may be effected. It has been the practice to conceal individual residual uncorrected errors or all data during an interval when residual uncorrected errors are detected. However, only a few errors may exist during the interval. Therefore, such a concealment strategy would lead to overconcealment or may not conceal unidentified errors.